// import { RouteLocationNormalized, RouteRecordRaw } from 'vue-router';
// import { useUserStore } from '@/store';

// export default function usePermission() {
//   const userStore = useUserStore();
//   return {
//     accessRouter(route: RouteLocationNormalized | RouteRecordRaw) {
//       return (
//         !route.meta?.requiresAuth ||
//         !route.meta?.roles ||
//         route.meta?.roles?.includes('*') ||
//         route.meta?.roles?.includes(userStore.role)
//       );
//     },
//     findFirstPermissionRoute(_routers: any, role = 'admin') {
//       const cloneRouters = [..._routers];
//       while (cloneRouters.length) {
//         const firstElement = cloneRouters.shift();
//         if (
//           firstElement?.meta?.roles?.find((el: string[]) => {
//             return el.includes('*') || el.includes(role);
//           })
//         )
//           return { name: firstElement.name };
//         if (firstElement?.children) {
//           cloneRouters.push(...firstElement.children);
//         }
//       }
//       return null;
//     },
//     // You can add any rules you want
//   };
// }
